package com.bw.auth.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

@Component
public class OnlineUserStatistics {

    @Autowired
    private RedisTemplate redisTemplate;

    //人数统计方法
    public void userLoggedIn(String userId) {
            redisTemplate.opsForSet().add("onlineUsers", userId);
            redisTemplate.expire("onlineUsers", 2, TimeUnit.HOURS); // 设置 5 分钟过期
    }

    //在线人数获取方法
    public long getOnlineUserCount() {
        return redisTemplate.opsForSet().size("onlineUsers");
    }
    //人员离开统计方法
    public void userLoggedOut(String userId) {
        redisTemplate.opsForSet().remove("onlineUsers", userId);
    }
}